﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;

namespace SpaceGame
{
    class Inimigo : Objeto
    {
        animacao andando;
        Texture2D imgTiro;
        Tiro tiro;
        public bool existe;

        public Inimigo(Texture2D imagem, GameWindow Window, Texture2D tiro)
            :base(imagem, Window)
        {
            imgTiro = tiro;
            existe = true;

            Random rnd = new Random(DateTime.Now.Millisecond);


            posicao = new Vector2(rnd.Next(0, window.ClientBounds.Width - imagem.Width), 0-imagem.Height);
            velocidade = new Vector2(rnd.Next(1, 4), rnd.Next(1, 4));
            //this.efeitoSonoro = efeitoSonoro;

            andando = new animacao();
            andando.qtd_quadros = 1;
            andando.quadros_seg = 1;
            andando.Y = rnd.Next(0,2);
            andando.quadro_X = imagem.Width / andando.qtd_quadros;
            andando.quadro_Y = imagem.Height / 2;
            _animacao = andando;
            colisao = new Rectangle((int)posicao.X, (int)posicao.Y, andando.quadro_X, andando.quadro_Y);

        }

        //sobrecarregamento ou overload
        public override void Update(GameTime gameTime)
        {
            colisao.X = (int)posicao.X;
            colisao.Y = (int)posicao.Y;
            colisao.Width = andando.quadro_X;
            colisao.Height = andando.quadro_Y;

            posicao.Y += velocidade.Y;

            if (tiro == null)
            {
                //tiro = new Tiro(imgTiro, window, posicao);
            }
            else if (!tiro.existe)
            {
                tiro = null;
            }

            if (posicao.Y > (window.ClientBounds.Height + imagem.Height))
                existe = false;
        }

        public override void Draw(GameTime gameTime, SpriteBatch spriteBatch)
        {
            base.Draw(gameTime, spriteBatch);
            //tiro.Draw(gameTime, spriteBatch);
        }
    }
}
